package com.ys.p1.doubleloop;

/**
 * @author CodeYang
 * @Description 带标签的循环,
 * 或者称:
 *   带标签的brak
 *   带标签的continue
 *   使用带标签的break
 *  *   作用：结束指定的循环。
 *  *   实现：a)给需要结束的循环进行命名
 *  *          outer:for (int i = 1; i <= 5; i++) { ... }
 *  *        b)通过break关键字来结束指定的循环
 *  *          break outer;
 *  *   注意：现实开发中，使用带标签的break绝对不允许使用。
 *  * 使用带标签的continue
 *  *   使用方法和特点基本和带标签的break类似。
 *  带标签的 break 和 continue 其实本质时goto语句的一种改版应用---> 直接跳转到对应的位置;
 *   实际开发中如果用到了 带标签的xxx 一般请推到code 重写代码
 * @Date 2020/12/8 13:16
 */
public class LoopTag {

    public static void main(String[] args) {
        out2:
        {
            System.out.println("标签跳转:-----啊哈哈哈");

            out:for (int i = 1; i <= 5; i++) {
                System.out.println("外侧循环:" + i);
                for (int j = 1; j <= 5; j++) {
                    //需求,在内侧循环中,结束外侧循环
                    if (j == 3) {
                       break out;
//                        break out2;
                    }
                    System.out.println("----内侧循环:" + j);
                }
            }
        }
    }
}
